package review.linkedList;

public interface ILinkedList<E> {

    /**
     * 头插
     * @param val
     * @return
     */
    boolean addFirst(E val);

    /**
     * 尾插
     * @param val
     * @return
     */
    boolean addLast(E val);

    /**
     * 通过索引插入值
     * @param index
     * @param val
     * @return
     */
    boolean insert(int index,E val);

    /**
     * 通过索引获取值
     * @param index
     * @return
     */
     E get(int index);

    /**
     * 删除头节点
     * @return
     */
     E removeFirst();

    /**
     * 通过索引删除节点
     * @param index
     * @return
     */
     E remove(int index);

    /**
     * 通过索引获取节点
     * @param index
     * @return
     */
     Node findNode(int index);


}
